The present invention relates to the field of computer-aided design (CAD), computer aided manufacturing (CAM), computer aided engineering (CAE), and product data management (PDM) systems.
In the field of CAD/CAM/CAE/PDM systems, it is often required to insert two-dimensional (2D) annotations into three-dimensional (3D) representations of models. In the 3D representation each annotation, which is usually comprised of a piece of text or label and an arrow linking the text or label to the elements of the model to which the annotation applies, is located in a plane, known as the “annotation plane”. The text of an annotation can be a flagnote, e.g., a link to an HTML file, or a tolerance specification, which can be a geometrical tolerance specification (e.g., an indication of position, orientation, form or run-out) or a dimensioning tolerance specification (e.g., 4±0.1). Annotations must comply with industry standards, such as ISO or ASME. For example, a geometrical tolerance specification would be specified, by the standards, to have an appearance as shown in FIG. 1. In FIG. 1 the ⊥ symbol means a perpendicularity tolerance, 0.1 represents the tolerance value, and A (known as the “datum element”) references the model element (e.g., a surface) with respect to which the perpendicularity is defined. The leader line, which terminates with an arrow, designates the element to which the tolerance applies.
A problem arises when it becomes necessary to move the arrow for any reason, for example a need to improve its visibility. Care must be taken when moving the arrow to ensure that it continues to point to the correct element of the model. Otherwise the annotation could become difficult to interpret or be rendered meaningless.
In known systems users are left with the responsibility of placing the arrow in an appropriate manner when they move it. The user is not provided with useful help by the system for placing the arrow. When working with 3D models, users often have difficulty determining correct locations for the ends of the arrows.
A related problem arises when the geometry is moved. It must be ensured that the arrow is moved accordingly, while continuing to point to the correct element. In known systems, there is no utility for assisting the user in this regard.
There is therefore a strong demand from users for improved tools to assist the user in positioning and repositioning 2D annotations on 3D models. Such tools would increase the productivity of the user.